package com.zksk.mbg.admin.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zksk.common.core.web.domain.BaseEntity;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;

/**
 * <p>
 * 政策资讯信息表
 * </p>
 *
 * @author Zksk Acmen
 * @since 2022-12-26
 * @since 2022-12-27
 */
@Data
@Accessors(chain = true)
@TableName("platform_fact_policy_info")
@ApiModel(value = "PolicyInfo对象", description = "政策资讯信息表")
public class PolicyInfo extends BaseEntity {

    @ApiModelProperty("主键id")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    @ApiModelProperty("标题名称")
    @TableField("title_name")
    private String titleName;

    @ApiModelProperty("文件名称")
    @TableField("file_name")
    private String fileName;

    @ApiModelProperty("资讯类型（10通知、20本地、30行业、40国家）")
    @TableField("`type`")
    private String type;

    @ApiModelProperty("资讯状态（备用字段）")
    @TableField("`status`")
    private Integer status;

    @ApiModelProperty("文件格式")
    @TableField("file_form")
    private String fileForm;

    @ApiModelProperty("文件内容")
    @TableField("`desc`")
    private String desc;

    @ApiModelProperty("附件地址")
    @TableField("`file`")
    private String file;

    @ApiModelProperty("信息时间")
    @TableField("info_time")
    private LocalDateTime infoTime;

    @ApiModelProperty("查看次数")
    @TableField("look_num")
    private Integer lookNum;

    @ApiModelProperty("删除标识（0 正常 2删除）")
    @TableField(value = "del_flag", fill = FieldFill.INSERT)
    @TableLogic
    private Integer delFlag;


    public static final String ID = "id";

    public static final String TITLE_NAME = "title_name";

    public static final String FILE_NAME = "file_name";

    public static final String TYPE = "type";

    public static final String STATUS = "status";

    public static final String FILE_FORM = "file_form";

    public static final String DESC = "desc";

    public static final String FILE = "file";

    public static final String INFO_TIME = "info_time";

    public static final String LOOK_NUM = "look_num";

    public static final String DEL_FLAG = "del_flag";

    @Override
    public Serializable pkVal() {
        return this.id;
    }

}
